// Copyright 叶湘 ( weixin:yexiang841, email:yexiang841@qq.com ), Shitouren Studio. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "Hit/Q3D_CPPE_HitType.h"
#include "Hit/Q3D_CPPE_HitDamageStyle.h"
#include "Q3D_CPPU_HitType.generated.h"

/**
 * 
 */
UCLASS(Blueprintable, ClassGroup = (Q3D), meta = (Tooltip = "命中类型基类(C++)"))
class Q3D_LIB_API UQ3D_CPPU_HitTypeBase : public UObject
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintPure, Category = Q3D_HitTypeBase, meta = (Tooltip = "读取命中类型"))
	virtual void Q3D_F_HitType_GetEnum(UPARAM(DisplayName = "enum_hit_type") EQ3D_CPPE_HitType &enum_hit_type) const;
};

UCLASS(Blueprintable, ClassGroup = (Q3D), meta = (Tooltip = "伤害型命中类(C++)"))
class Q3D_LIB_API UQ3D_CPPU_HitTypeDamage : public UQ3D_CPPU_HitTypeBase
{
	GENERATED_BODY()

public:
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Q3D_HitTypeDamage, meta = (Tooltip = "伤害型命中的相性", ExposeOnSpawn = "true"))
	EQ3D_CPPE_HitDamageStyle Enum_HitDamageStyle;

public:
	virtual void Q3D_F_HitType_GetEnum(EQ3D_CPPE_HitType &enum_hit_type) const override;
};

UCLASS(Blueprintable, ClassGroup = (Q3D), meta = (Tooltip = "恢复型命中类(C++)"))
class Q3D_LIB_API UQ3D_CPPU_HitTypeRecover : public UQ3D_CPPU_HitTypeBase
{
	GENERATED_BODY()

public:
	virtual void Q3D_F_HitType_GetEnum(EQ3D_CPPE_HitType &enum_hit_type) const override;
};
